#!/usr/bin/env v

import os

// 类型反射
type Number = int

fn is_number[T](data T) bool {
	$if T is Number {
		return true
	} $else {
		return false
	}
}

// 范型
fn simple_fn[T](param T) T {
	return param
}

value := simple_fn(1)
println(value)
println(is_number(Number(0)))
println(is_number(1))

// 列表实例
mut numbers := [1, 2, 3, 4]
numbers << 5
println(numbers)
println(numbers.filter(it % 2 == 0))
println(1 in numbers)
// println(ls('/home/zhangjl') !)

// dict
my_dict := {
	'a': 0
	'b': 1
	'c': 2
}
println(my_dict)

// 读取文件
text := os.read_file('./test2.txt') or {
	eprintln(err)
	return
}
println(text)
